// 
// Mixins
// ==============================

#DateSelect {

	// ==============================
	// CLEAR FIX
	// ==============================
	.clearfix() {
		&:before,
		&:after {
			content: " ";
			display: table;
		}
		&:after {
			clear: both;
		}
	}



	
	// ==============================
	// GRADIENTS
	// ==============================

	// Horizontal gradient, from left to right
	//
	// Creates two color stops, start and end, by specifying a color and position for each color stop.
	// Color stops are not available in IE9 and below.
	.gradient-horizontal(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
		background-image: -webkit-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Safari 5.1-6, Chrome 10+
		background-image: -o-linear-gradient(left, @start-color @start-percent, @end-color @end-percent); // Opera 12
		background-image: linear-gradient(to right, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
		background-repeat: repeat-x;
		filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=1)",argb(@start-color),argb(@end-color))); // IE9 and down
	}

	// Vertical gradient, from top to bottom
	//
	// Creates two color stops, start and end, by specifying a color and position for each color stop.
	// Color stops are not available in IE9 and below.
	.gradient-vertical(@start-color: #555; @end-color: #333; @start-percent: 0%; @end-percent: 100%) {
		background-image: -webkit-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Safari 5.1-6, Chrome 10+
		background-image: -o-linear-gradient(top, @start-color @start-percent, @end-color @end-percent);  // Opera 12
		background-image: linear-gradient(to bottom, @start-color @start-percent, @end-color @end-percent); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
		background-repeat: repeat-x;
		filter: e(%("progid:DXImageTransform.Microsoft.gradient(startColorstr='%d', endColorstr='%d', GradientType=0)",argb(@start-color),argb(@end-color))); // IE9 and down
	}

	.gradient-directional(@start-color: #555; @end-color: #333; @deg: 45deg) {
		background-repeat: repeat-x;
		background-image: -webkit-linear-gradient(@deg, @start-color, @end-color); // Safari 5.1-6, Chrome 10+
		background-image: -o-linear-gradient(@deg, @start-color, @end-color); // Opera 12
		background-image: linear-gradient(@deg, @start-color, @end-color); // Standard, IE10, Firefox 16+, Opera 12.10+, Safari 7+, Chrome 26+
	}




	// ==============================
	// VENDOR PREFIXES
	// ==============================


	// Animations
	.animation(@animation) {
		-webkit-animation: @animation;
			 -o-animation: @animation;
				animation: @animation;
	}
	.animation-name(@name) {
		-webkit-animation-name: @name;
				animation-name: @name;
	}
	.animation-duration(@duration) {
		-webkit-animation-duration: @duration;
				animation-duration: @duration;
	}
	.animation-timing-function(@timing-function) {
		-webkit-animation-timing-function: @timing-function;
				animation-timing-function: @timing-function;
	}
	.animation-delay(@delay) {
		-webkit-animation-delay: @delay;
				animation-delay: @delay;
	}
	.animation-iteration-count(@iteration-count) {
		-webkit-animation-iteration-count: @iteration-count;
				animation-iteration-count: @iteration-count;
	}
	.animation-direction(@direction) {
		-webkit-animation-direction: @direction;
				animation-direction: @direction;
	}
	.animation-fill-mode(@fill-mode) {
		-webkit-animation-fill-mode: @fill-mode;
				animation-fill-mode: @fill-mode;
	}

	// Box sizing
	.box-sizing(@boxmodel) {
		-webkit-box-sizing: @boxmodel;
		   -moz-box-sizing: @boxmodel;
				box-sizing: @boxmodel;
	}

	// CSS3 Content Columns
	.content-columns(@column-count; @column-gap: @grid-gutter-width) {
		-webkit-column-count: @column-count;
		   -moz-column-count: @column-count;
				column-count: @column-count;
		-webkit-column-gap: @column-gap;
		   -moz-column-gap: @column-gap;
				column-gap: @column-gap;
	}

	// Transformations
	.scale(@ratio) {
		-webkit-transform: scale(@ratio);
			-ms-transform: scale(@ratio); // IE9 only
			 -o-transform: scale(@ratio);
				transform: scale(@ratio);
	}
	.scale(@ratioX; @ratioY) {
		-webkit-transform: scale(@ratioX, @ratioY);
			-ms-transform: scale(@ratioX, @ratioY); // IE9 only
			 -o-transform: scale(@ratioX, @ratioY);
				transform: scale(@ratioX, @ratioY);
	}
	.scaleX(@ratio) {
		-webkit-transform: scaleX(@ratio);
			-ms-transform: scaleX(@ratio); // IE9 only
			 -o-transform: scaleX(@ratio);
				transform: scaleX(@ratio);
	}
	.scaleY(@ratio) {
		-webkit-transform: scaleY(@ratio);
			-ms-transform: scaleY(@ratio); // IE9 only
			 -o-transform: scaleY(@ratio);
				transform: scaleY(@ratio);
	}
	.skew(@x; @y) {
		-webkit-transform: skewX(@x) skewY(@y);
			-ms-transform: skewX(@x) skewY(@y); // See https://github.com/twbs/bootstrap/issues/4885; IE9+
			 -o-transform: skewX(@x) skewY(@y);
				transform: skewX(@x) skewY(@y);
	}
	.translate(@x; @y) {
		-webkit-transform: translate(@x, @y);
			-ms-transform: translate(@x, @y); // IE9 only
			 -o-transform: translate(@x, @y);
				transform: translate(@x, @y);
	}
	.translate3d(@x; @y; @z) {
		-webkit-transform: translate3d(@x, @y, @z);
				transform: translate3d(@x, @y, @z);
	}
	.rotate(@degrees) {
		-webkit-transform: rotate(@degrees);
			-ms-transform: rotate(@degrees); // IE9 only
			 -o-transform: rotate(@degrees);
				transform: rotate(@degrees);
	}
	.rotateX(@degrees) {
		-webkit-transform: rotateX(@degrees);
			-ms-transform: rotateX(@degrees); // IE9 only
			 -o-transform: rotateX(@degrees);
				transform: rotateX(@degrees);
	}
	.rotateY(@degrees) {
		-webkit-transform: rotateY(@degrees);
			-ms-transform: rotateY(@degrees); // IE9 only
			 -o-transform: rotateY(@degrees);
				transform: rotateY(@degrees);
	}
	.perspective(@perspective) {
		-webkit-perspective: @perspective;
		   -moz-perspective: @perspective;
				perspective: @perspective;
	}
	.perspective-origin(@perspective) {
		-webkit-perspective-origin: @perspective;
		   -moz-perspective-origin: @perspective;
				perspective-origin: @perspective;
	}
	.transform-origin(@origin) {
		-webkit-transform-origin: @origin;
		   -moz-transform-origin: @origin;
			-ms-transform-origin: @origin; // IE9 only
				transform-origin: @origin;
	}


	// Transitions

	.transition(@transition) {
		-webkit-transition: @transition;
			 -o-transition: @transition;
				transition: @transition;
	}
	.transition-property(@transition-property) {
		-webkit-transition-property: @transition-property;
				transition-property: @transition-property;
	}
	.transition-delay(@transition-delay) {
		-webkit-transition-delay: @transition-delay;
				transition-delay: @transition-delay;
	}
	.transition-duration(@transition-duration) {
		-webkit-transition-duration: @transition-duration;
				transition-duration: @transition-duration;
	}
	.transition-timing-function(@timing-function) {
		-webkit-transition-timing-function: @timing-function;
				transition-timing-function: @timing-function;
	}
	.transition-transform(@transition) {
		-webkit-transition: -webkit-transform @transition;
			  -moz-transition: -moz-transform @transition;
				  -o-transition: -o-transform @transition;
						transition: transform @transition;
	}


	// User select
	// For selecting text on the page

	.user-select(@select) {
		-webkit-user-select: @select;
		   -moz-user-select: @select;
			-ms-user-select: @select; // IE10+
				user-select: @select;
	}
}
